package com.demo.morning;

/**
 * @ClassName 龟兔赛跑
 * @Description TODO
 * @Author tianqinglong
 * @Date 9:33 2022/7/13
 * @Version 1.0
 **/
public class 龟兔赛跑 implements Runnable{
    //胜利者
    private static String winner;
    @Override
    public void run() {
        for(int i=0;i<=100;i++) {
            //模拟兔子休息
            if (Thread.currentThread().getName().equals("兔子") && i % 10 == 0) {
                try {
                    Thread.sleep(1);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            boolean flag=gameOver(i);
            //如果比赛结束了，就停止程序
            if(flag) {
                break;
            }
            System.out.println(Thread.currentThread().getName()+"-->跑了"+i+"步");
        }

    }
    //判断是否完成比赛
    private boolean gameOver(int steps) {
        //判断是否有胜利者
        if(winner!=null) {
            return true;
        }{
            if(steps>=100) {
                winner=Thread.currentThread().getName();
                System.out.println("winner is  "+winner);
                return true;
            }
        }
        return false;
    }
    public static void main(String[] args) {
        龟兔赛跑 r=new 龟兔赛跑();
        new Thread(r,"兔子").start();
        new Thread(r,"乌龟").start();
    }
    }

